1. Field of the Invention
The present invention relates in general to the field of database analysis. In one aspect, the present invention relates to a system and method for generating purchase recommendations based on historical transaction data.
2. Description of the Related Art
Conventional sales practices often use sales or service representatives to assist in the customer's purchasing decisions by recommending particular products or features to the customer. An experienced sales or service representative will be able to recommend specific purchases by first taking into consideration the customer's stated preferences.
In addition, a vendor who sells computer systems to a variety of customers (e.g., individual home users interested in personal computers, businesses interested in client/server systems, etc.) must recommend an optimal configuration of computer features and/or related products to meet the customer's particular needs, where a “configuration” is a collection of constituent parts that comprise an end product or service, and a “product” may comprise one or more physical objects or one or more services or any combination of products and services. In this case, the recommendation of a particular system configuration may depend on the external needs of the customer, such that a recommended configuration has a certain amount of disk space storage, a certain number of disk drives, choice of monitor, and the like to meet the desired level of functionality or price/performance desired by the customer.
An experienced sales or service representative will also be able to recommend specific purchases by taking into consideration the historical purchasing patterns of other customers, such that a recommendation is based on historical transaction data indicating that, when other customers have purchased product or feature X, they also purchased product or feature Y (which would be recommended to the customer). Now that modern computers can assemble, record and analyze enormous amounts of data, historical transaction data can be collected and analyzed using data mining techniques to discover association relationships in a database by identifying frequently occurring patterns in the database. These association relationships or rules may be applied to extract useful information from large databases in a variety of fields, including selective marketing, market analysis and management applications (such as target marketing, customer relation management, market basket analysis, cross selling, market segmentation), risk analysis and management applications (such as forecasting, customer retention, improved underwriting, quality control, competitive analysis), fraud detection and management applications and other applications (such as text mining (news group, email, documents), stream data mining, web mining, DNA data analysis, etc.). Association rules have been applied to model and emulate consumer purchasing activities by describing how often items are purchased together. Typically, a rule consists of two conditions (e.g., antecedent and consequent) and is denoted as AC where A is the antecedent and C is the consequent. For example, an association rule, “laptopspeaker (80%),” states that four out of five customers that bought a laptop computer also bought speakers.
Conventional data mining approaches use generic item descriptions, such as the SKU (stockable unit number) when identifying items or products in a transaction database. When these generic descriptions are used to identify frequent sets, the frequent sets are not large and power-set/rule generation is tractable. However, conventional data mining techniques using item data at the SKU (stockable unit number) level do not provide sufficient information to develop meaningful association rules for complex products. For example, if there are three transactions involving the purchase of a computer identified as “Desktop-SKU” with one of the transactions also involving the purchase of DVD disks, the product level of description used to identify the computer does not reveal that two of the computers did not include DVD drives, while the third computer (which was purchased with the DVD disks) did include a DVD drive. As this example demonstrates, this lack of granularity in the item description diminishes the quality of association rules that can be generated, resulting in limited pattern correlation.
The difficulty of making recommendations increases as the number and complexity of mined association rules increases, which in turn is caused by an increase in the number of services and/or products, where each service or product may itself comprise a number of constituent services and products. The complexity of recommending a suitable configuration grows further with the number of constituent parts, the external needs of the customer, and the internal needs of the parts when considered as a whole. To assist with managing this complexity, configuration systems have been developed to help automate the process of choosing a particular configuration for the customer. A typical configuration system is a software process that captures the nature of the product by specifying the constituent components of the product and the available choices to be made when selecting a suitable set of the components. Conventional configuration systems require substantial programming input to capture the domain of a vendor's end products which refers to the information required to create a useful model of the end product that is usually expressed in terms of the generic part descriptions, such as the SKU (stockable unit number), of the (constituent) parts, the relationships among these parts, the resources of the parts, user needs, and the like. There are a number of drawbacks associated with conventional configuration systems, including the expense of creating and maintaining such systems, the programming complexity of creating and updating such systems, the time required to create the system and to train employees, the inflexibility of such systems in terms of accommodating new parts or descriptions, and the incompatibility with other configuration systems.
As seen from the conventional approaches, a need exists for methods and/or apparatuses for improving the use of data mining techniques in generating recommendations. There is also a need for finer granularity in the generation of frequent sets to better discover meaningful patterns without imposing the cost of a combinatorial explosion of the data that must be examined. In addition, there is a need for methods and/or apparatuses for generating flexible association rules without requiring unwieldy candidate set generation, without requiring multiple database passes and without requiring additional time to generate association rules as the frequent set grows. Moreover, there is a need for an improved method and system for efficiently generating retail recommendations which reduces programming complexity and expense, which may be readily adapted to new parts or part descriptions, and/or which is compatible with different configuration systems. Further limitations and disadvantages of conventional systems will become apparent to one of skill in the art after reviewing the remainder of the present application with reference to the drawings and detailed description which follow.